#!/bin/bash
"""
设置每日定时发布的 cron 任务
"""

echo "🚀 设置小红书每日定时发布任务..."

# 检查 Python 环境
if ! command -v python3 &> /dev/null; then
    echo "❌ Python3 未安装，请先安装 Python3"
    exit 1
fi

# 获取当前脚本目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
DAILY_PUBLISHER="$SCRIPT_DIR/daily-publisher.py"

# 确保脚本可执行
chmod +x "$DAILY_PUBLISHER"

# 创建日志目录
mkdir -p "$SCRIPT_DIR/logs"

# 创建 cron 任务脚本
CRON_SCRIPT="$SCRIPT_DIR/run-daily-publisher.sh"
cat > "$CRON_SCRIPT" << EOF
#!/bin/bash
# 每日发布任务执行脚本

cd "$SCRIPT_DIR"
export PATH="/usr/local/bin:/usr/bin:/bin"

# 记录开始时间
echo "\$(date): 开始执行每日发布任务" >> logs/cron.log

# 执行发布脚本
python3 daily-publisher.py >> logs/cron.log 2>&1

# 记录结束时间和结果
echo "\$(date): 任务执行完成，退出码: \$?" >> logs/cron.log
echo "----------------------------------------" >> logs/cron.log
EOF

chmod +x "$CRON_SCRIPT"

# 添加 cron 任务
echo "📅 添加定时任务..."

# 备份现有 crontab
crontab -l > /tmp/crontab_backup 2>/dev/null || true

# 检查是否已存在相同任务
if crontab -l 2>/dev/null | grep -q "run-daily-publisher.sh"; then
    echo "⚠️  定时任务已存在，跳过添加"
else
    # 添加新的 cron 任务（每天上午 9:00 执行）
    (crontab -l 2>/dev/null; echo "0 9 * * * $CRON_SCRIPT") | crontab -
    echo "✅ 已添加定时任务：每天上午 9:00 执行"
fi

# 显示当前 cron 任务
echo "📋 当前定时任务："
crontab -l | grep -E "(run-daily-publisher|daily-publisher)" || echo "未找到相关任务"

echo ""
echo "🎯 设置完成！"
echo "📁 脚本位置: $DAILY_PUBLISHER"
echo "📁 日志位置: $SCRIPT_DIR/logs/"
echo "⏰ 执行时间: 每天上午 9:00"
echo ""
echo "🔧 管理命令："
echo "  查看任务: crontab -l"
echo "  删除任务: crontab -e (手动删除对应行)"
echo "  查看日志: tail -f $SCRIPT_DIR/logs/cron.log"
echo "  手动测试: $CRON_SCRIPT"
